package pers.cz.expression;

import java.util.HashMap;
import java.util.Map;

/**
 * @program: StudyAntlr4
 * @description: 自定义解析类
 * @author: Cheng Zhi
 * @create: 2023-12-14 13:11
 **/
public class JefCustomListener extends JefExpressionBaseListener {

    Map<String, Object> memory = new HashMap<String, Object>();
    /**
     * 监听左表达式
     * @param ctx
     */
    @Override
    public void exitLeftexpr(JefExpressionParser.LeftexprContext ctx) {
        System.out.println(ctx.getText());
        super.exitLeftexpr(ctx);
    }

    /**
     * 监听右表达式
     * @param ctx
     */
    @Override
    public void exitRightexpr(JefExpressionParser.RightexprContext ctx) {
        System.out.println(ctx.getText());
        super.exitRightexpr(ctx);
    }

    /**
     * 乘除法运算
     * @param ctx
     */
    @Override
    public void exitMulDiv(JefExpressionParser.MulDivContext ctx) {
        System.out.println(ctx.getChild(0).getText());
        System.out.println(ctx.getChild(1).getText());
        super.exitMulDiv(ctx);
    }

    /**
     * 加减法运算
     * @param ctx
     */
    @Override
    public void enterAddSub(JefExpressionParser.AddSubContext ctx) {
        System.out.println(ctx.getChild(0).getText());
        System.out.println(ctx.getChild(1).getText());
        super.enterAddSub(ctx);
    }
}
